package com.snake.springboot.authority.api.service;

import com.snake.springboot.authority.api.model.AuthBuyStrategyModel;
import com.snake.springboot.authority.api.model.AuthOperatorStrategyModel;
import com.snake.springboot.authority.api.request.AuthOperatorStrategyQuery;
import com.snake.springboot.authority.api.request.AuthorizationDefaultSave;
import com.snake.springboot.authority.api.response.AuthOperatorStrategyRsp;
import com.snake.springboot.authority.api.response.OperatorStrategySumRsp;

import java.util.List;

/**
 * 类 {@code AuthorizationStrategyService}  <br> .
 * <p>权限策略授权接口
 * <p>创建时间：2025/02/07
 *
 * @author Huang.yj
 */
public interface AuthorizationStrategyService {

    int authorization(List<AuthOperatorStrategyModel> models);

    int cancelAuthorization(String operatorId);

    List<AuthOperatorStrategyRsp> queryOperatorStrategy(AuthOperatorStrategyQuery query);

    int someAuthor(List<AuthOperatorStrategyModel> models);

    int cancelSomeAuthor(List<AuthOperatorStrategyModel> models);

    int authorizationDefault(AuthorizationDefaultSave model);

    List<OperatorStrategySumRsp> strategySum(List<String> operatorIds);

    void buyAuthor(List<AuthBuyStrategyModel> models);

    void cancelBuyAuthor(List<AuthBuyStrategyModel> models);
}
